package com.kaifamiao.arrays;

// 查找数组: 从任意数组中寻找指定取值对应的下标(或索引)
public class Search {
    public static void main(String[] args) {

        int[] arr = { 10, 2, 9, 2, 6, 2, 8, 2, 5, 1 };

        // 指定被查找的值
        int key = 2;
        // 用于记录 key 再 arr 中位置的变量
        int index = -1;
        // 通过循环从前向后查找 key 在 arr 中首次出现的位置(即下标或索引)
        for(int i = 0 ; i < arr.length ; i++ ){
            // 若 arr[i] 与 key 相等
            if( arr[i] == key ) {
                // 则记录当前索引
                index = i ;
                // 退出循环
                break;
            }
        }
        System.out.println( index == -1 ? "未找到" : "首次出现的位置是" + index );

        int last = -1;
        // 通过循环从数组末尾向前查找 key 在 arr 中首次出现的位置(即下标或索引)
        for(int i = arr.length - 1 ; i >= 0 ; i-- ){
            // 若 arr[i] 与 key 相等
            if( arr[i] == key ) {
                // 则记录当前索引
                last = i ;
                // 退出循环
                break;
            }
        }

        System.out.println( last == -1 ? "未找到" : "最后一次出现的位置是" + last );

        // 问题:
        // 怎么确定一个数值在数组中仅出现一次？？？
    }
}
